Parameterization of User Units

Position, velocity, and acceleration values are computed and stored in increments (also known as counts) in the SafeMotion Monitoring (SMM). These values are presented in user units so that they are understandable in the parameterization and in different diagnostic elements.

The conversion is done in two steps:

  1. Increments <=> Encoder Unit

  2. Encoder Unit <=> User Unit

This two step conversion allows you to simply enter the encoder specification and the conversion from a known unit to your desired unit.

Rotary Encoder Example

Rotary encoders are usually defined by the number of increments per revolution. The user unit can be defined in relation to 1 revolution.
The following example shows a conversion from increments to degrees:

  1. 2,048 increments <=> 1 rev

  2. 1 rev <=> 360 degrees

Linear Encoder Example

Linear encoders are usually defined by the distance between each increment. The user unit can be any factor of this distance.
The following example shows a conversion from increments to millimeters:

  1. 109 increments <=> 1m

  2. 1m <=> 1,000mm

Encoder Settings

Select Encoder (Common/Encoders)

Select an encoder type to configure the unit ratio. The SMM will complete the calculations using internal data. For information on the encoder setup, see (➜ # 1, Motor feedback requirements).

Name Default Parameter
Encoder 1 (HF-DSL) 0 (Not used)

(see "SAFEPARAM​.ENCODERHDSLTYPE1")

Encoder 2 (HF-DSL) 0 (Not used)

(see "SAFEPARAM​.ENCODERHDSLTYPE2")

Encoder 3 (EnDat 2.2) 0 (Not used)

(see "SAFEPARAM.ENCODER3.​TYPE")

Connect Encoder to an Axis (Axis/General/Encoder)

For each axis the user plans to use a safe encoder with, it is required to define which encoder is used and how it is used.

Name

Default

Parameter

Encoder Source

0 (No encoder)

AXIS#.SAFEPARAM​.ENCODERSOURCE

Speed Computation Interval

1 ms

(see "AXIS#.SAFEPARAM​.SPEEDCOMPUTATIONINTERVAL")

Acceleration Computation Interval

1 ms

(see "AXIS#.SAFEPARAM​.ACCCOMPUTATIONINTERVAL")

Absolute Position

0 (Disabled)

(see "AXIS#.SAFEPARAM​.ABSOLUTEPOSEN")

Absolute Position Range

0 (Unsigned)

(see "AXIS#.SAFEPARAM​.ABSOLUTEPOSRANGE")

Absolute Position Reset Value

0 Pos User Units

(see "AXIS#.SAFEPARAM​.ABSOLUTEPOSRESETVALUE")

Absolute Position Reset Source

0 (Not Used)

(see "AXIS#.SAFEPARAM​.ABSOLUTEPOSRESETSOURCE")

The intervals define a filter on the positions read to compute the velocity and the acceleration. These parameters influence the response time of the computed velocity and acceleration. The larger these values are, the longer the lag will be.

Encoder Unit <=> User Unit

The user must define four parameters for each unit type to configure the unit ratio. Two of the four parameters are used for ratio computing, and two are defined to improve usability but are not used in the computation.

The computation ratio is defined by the:

  • Number of increment for the value (pos/vel/acc) in the encoder unit
  • Number of increment for the value (pos/vel/acc) in the user unit

For example:

  • 1 [rev] / 1 [rev/s] / 1 [rev/s2]
  • 360 [deg] / 60 [RPM] / 60 [RPM/s]

The SMM only supports integer values. If you want to have one decimal, you must compute your ratio accordingly and use a deci factor on the unit, and similarly for more decimals (cent, milli, …).

Name

Default

Parameter

Acceleration factor unit

5

(see "AXIS#.SAFEPARAM.UNIT​.ACCFACTOR")

Acceleration incr. in encoder units

1

(see "AXIS#.SAFEPARAM.UNIT​.ACCINENC")

Acceleration incr. in user units

60

(see "AXIS#.SAFEPARAM.UNIT​.ACCINUSER")

User dimension for acceleration

5

(see "AXIS#.SAFEPARAM.UNIT​.ACCLABEL")

Position factor unit

4

(see "AXIS#.SAFEPARAM.UNIT​.POSFACTOR")

Position incr. in encoder units

1

(see "AXIS#.SAFEPARAM.UNIT​.POSINENC")

Position incr. in user units

3600

(see "AXIS#.SAFEPARAM.UNIT​.POSINUSER")

User dimension for position

4

(see "AXIS#.SAFEPARAM.UNIT​.POSLABEL")

Velocity factor unit

5

(see "AXIS#.SAFEPARAM.UNIT​.VELFACTOR")

Velocity incr. in encoder units

1

(see "AXIS#.SAFEPARAM.UNIT​.VELINENC")

Velocity incr. in user units

60

(see "AXIS#.SAFEPARAM.UNIT​.VELINUSER")

User dimension for velocity

5

(see "AXIS#.SAFEPARAM.UNIT​.VELLABEL")

User Units Scaling

WorkBench displays all the computation related to the units.

Screen capture of the User Units Scaling section in WorkBench

These computations are not safe – the ratio must be calculated and verified by the user. WorkBench shows these values for convenience only.

  • Encoder: describes the Increments <=> Encoder Unit conversion ratio.
  • Pos/Vel/Acc : describes the Encoder Unit <=> User Unit conversion ratio.
  • Resolution : indicates the minimum resolution for 1 count (for example: 0.027 ddeg, respectively 0.0027 degree).

User Units Limitations

Configure the user unit in a way that the maximum position of the encoder can be represented as a signed 32 bit integer. Otherwise, the SMM will signal an I/O failure “37 - User Unit Overflow” when the encoder is initialized.

Example:

A rotary encoder with 12 bit multiturn information would have a maximum number of increments for the position value in user unit of "231/212 = 524,288". This corresponds to a user unit with a step size of 687 microdegrees.

A linear encoder with 36 bit resolution and 1nm per increment would have a maximum position of "236 * 10-9m ≈ 68.72m". The maximum number of increments for the position value in user unit would be "231/68.72m ≈ 312,500,00". This corresponds to a user unit with a step size of 32nm.

In the same way, exceeding the signed 32-bit integer limit for velocity or acceleration will produce an ERROR_SPEED_USER_UNIT_OVERFLOW or ERROR_ACCELERATION_USER_UNIT_OVERFLOW, respectively.

  • Due to internal limitations, the position information exceeding 19 singleturn bits and 12 multiturn bits for rotary encoders – 31 bits for linear encoders respectively – is discarded in the calculation of the user unit conversion.
    Nevertheless, you can configure the user unit to a higher resolution than indicated by the encoder or the safety system.
  • The safety-related accuracy is the limiting factor in the configuration of the safety function, not the resolution of the encoder.